﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ApuestaJMG.GUI.Contrato;
using Datos.Entidades;
using ApuestasJMG.GUI.Contrato;
using Logica.Comandos.ComandosAdministracionEvento;
using Datos.Entidades.FabricaEntidades;
using Logica.Comandos;
using Logica.FabricaLogica;


namespace ApuestaJMG.GUI.Presentador
{

    public class PresentadorEliminarEvento
    {
        private List<Entidad> misEventos=new List<Entidad>();
        private IContratoEliminarEvento _desEvento;
        //List<Entidad> listaroles = new List<Entidad>();

        /// <summary>
        /// Constructor de la clase
        /// </summary>
        /// <param name="creacionUsuario">
        /// Datos de la página a desactivar eventos requeridos para crear un
        /// nuevo usuario
        /// </param>
        public PresentadorEliminarEvento
            (IContratoEliminarEvento desEvento)
        {
            _desEvento = desEvento;
        }


        // <summary>
        /// procedimiento que obtiene eventos
        /// </summary>
        /// <param name="usuario">Evento a seleccionar para desactivar</param>
        public void obtenerEvento2()
        {
            Comando comando = FabricaComandoEvento.ObtenerComandoBuscarEvento();
            comando.Ejecutar();
            misEventos = comando.ListaEntidad;
            if (misEventos != null)
            {

                for (int i = 0; i < misEventos.Count; i++)
                {

                    _desEvento.Evento.Items.Add((misEventos.ElementAt(i) as Evento).NombreEvento);

                }
                _desEvento.Evento.DataBind();
            }

        }


        // <summary>
        /// procedimiento que desactiva eventos
        /// </summary>
        /// <param name="usuario">Evento desactivado</param>

        public void DesactivarEvento(int Posid)
        {

            Entidad desEvento = FabricaEntidades.ObtenerEvento();



            (desEvento as Evento).Id_Evento = (misEventos.ElementAt(Posid) as Evento).Id_Evento;

            Comando comandoEvento = FabricaComandoEvento.ObtenerComandoEliminarEvento();
            comandoEvento.Entidad = desEvento;
            Boolean respuestaEvento = false;

            (comandoEvento as ComandoEliminarEvento).Ejecutar();
            respuestaEvento = comandoEvento.Flag;

        }
    }
}